/*

Copyright 2010 YiqYaq LLC
Author: Dale Low (gumbypp@yahoo.com)
 
Licensed under the Apache License, Version 2.0 (the "License"); 
you may not use this file except in compliance with the License. 
You may obtain a copy of the License at 
 
    http://www.apache.org/licenses/LICENSE-2.0 
    
Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an "AS IS" BASIS, 
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
See the License for the specific language governing permissions and 
limitations under the License. 

The above license does not apply to the RadioWeave logo and name artwork,
examples of which are only included in this project for illustration
purposes.

*/

/**
    \defgroup chumby Chumby Flash client
    \brief Chumby Flash client (based on Flash Lite 3.1).
    
Basic RadioWeave player with the following features:
- play/stop audio controls
- previous/next track controls
- displays meta-data (title, description, owner, image) for the current track
- displays meta-data (title, image) for the current channel
- reports heard and skipped counts to the server
- displays like and dislike for the current track and allows the user to toggle them<br/>

Note: user credentials are provided by a configuration widget hosted at chumby.com

More information on the API used by this client can be found <a href="http://radioweave.com/about/developer/api/">here</a>.

<b>Revision History</b><br/>
091213 V1.0 first release<br/>
091227 V1.1 added channel meta-data area<br/>
091229 V1.2 hide next/prev buttons when not available, auto-play on startup<br/>
100102 V1.3 ignore UI events if a dialog is showing, avoid truncating traqs, better network error handling<br/>
100106 V1.4 hack for for..in Object prototype bug, retry login/playlist with 5 second delay<br/>
100110 V1.5 fixed handling of skipped tracks<br/>

*/

/**
    \brief Singleton controller object
    \ingroup chumby
  */
var gController:Controller;

/**
    \brief Private logging function for the main UI module.
    \param msg message to log
    \ingroup chumby
  */
function log(msg:String):Void {}

/**
    \brief Display pop-up dialog to the user.
    \param msg message to display
    \param withScroll if scrolling action buttons should be displayed
    \ingroup chumby
  */
function setDialog(msg:String, withScroll:Boolean):Void {}

/** \ingroup chumby */ var btnDlgLess:Button;
/** \ingroup chumby */ var btnDlgMore:Button;
/** \ingroup chumby */ var btnDlgOk:Button;
/** \ingroup chumby */ var btnPlay:Button;
/** \ingroup chumby */ var btnPause:Button;
/** \ingroup chumby */ var btnNext:Button;
/** \ingroup chumby */ var btnPrev:Button;
/** \ingroup chumby */ var btnHateOn:Button;
/** \ingroup chumby */ var btnHateOff:Button;
/** \ingroup chumby */ var btnLoveOn:Button;
/** \ingroup chumby */ var btnLoveOff:Button;
/** \ingroup chumby */ var btnLogo:Button;
/** \ingroup chumby */ var btnTrack:Button;
